package com.raymond.client.netty;

import io.netty.channel.Channel;

/**
 * channel事件监听器
 *
 * @author :  raymond
 * @version :  V1.0
 * @date :  2021-07-13 11:42
 */
public interface ChannelEventListener {
    /**
     * 连接事件
     * @param remoteAddr 远程地址
     * @param channel channel
     */
    void onChannelConnect(final String remoteAddr, final Channel channel);

    /**
     * 连接关闭事件
     * @param remoteAddr 远程地址
     * @param channel channel
     */
    void onChannelClose(final String remoteAddr, final Channel channel);

    /**
     * 连接异常事件
     * @param remoteAddr 远程地址
     * @param channel channel
     */
    void onChannelException(final String remoteAddr, final Channel channel);

    /**
     * 连接空闲事件
     * @param remoteAddr 远程地址
     * @param channel channel
     */
    void onChannelIdle(final String remoteAddr, final Channel channel);
}
